<?php

namespace app\admin\controller\subject;

//引入进来基类控制器
use app\common\controller\Backend;

/**
 * 课程订单控制器
 */
class Order extends Backend
{
  //设置关联查询
  protected $relationSearch = true;

  //当前模型
  protected $model = null;

  //构造函数
  public function __construct()
  {
    parent::__construct();

    //将控制器和模型关联
    $this->model = model('Subject.Order');
  }

  public function index()
  {

    //查询课程订单
    $this->request->filter(['strip_tags', 'trim']);

    if ($this->request->isAjax()) {
      //获取表格所提交过来筛选和排序的一些参数
      list($where, $sort, $order, $offset, $limit) = $this->buildparams();

      //表格需要两个返回值参数 总条数，分页的数据
      $total = $this->model
        ->with(['business'])
        ->where($where)
        ->order($sort, $order)
        ->count(); //返回查询的总数

      //返回多条数据，是二维数组结构
      $list = $this->model
        ->with(['business'])
        ->where($where)
        ->order($sort, $order)
        ->limit($offset, $limit)
        ->select();

      // 打印多条数据
      // var_dump(collection($list)->toArray());
      // exit;

      //打印sql语句
      // echo $this->model->getLastSql();
      // exit;

      //组装数据
      $result = ['total' => $total, 'rows' => $list];

      //返回json数据给ajax结果
      return json($result);
    }

    // 模板渲染
    return $this->view->fetch();
  }

  public function del($ids = NULL)
  {
    // 查询id是否存在
    $list = $this->model->select($ids);

    // 如果不存在，提醒
    if (!$list) {
      $this->error(__('No Results were found'));
      exit;
    }

    // 进行软删除
    $result = $this->model->destroy($ids);

    // 判断删除是否成功
    if ($result === FALSE) {
      $this->error('删除失败');
      exit;
    } else {
      $this->success('删除成功');
      exit;
    }
  }
}
